<?php




define ('AEDITUUS_ROOT', '../');
require_once AEDITUUS_ROOT.'commun.php';

// L'objet user, demarrage de la session utilisateur
$user = new AeUser();
$user->session_begin();
$userData = $user->getUserData();

$db = db::getInstance();

$transaction_id = $user->transaction_id;
$transaction = $db->get_row("SELECT * FROM ".$cfg['prefix']."transaction WHERE id_trans=?", array($transaction_id));

$data = array(
    'AEDITUUS_ROOT' => AEDITUUS_ROOT,
    'user' => $user,
);
file_put_contents('printr.txt', print_r($_REQUEST, true));
// On vérifie qu'on est en precommande pour eviter de recréditer le plafond à chaque actualisation (pour les accros du F5)
if ($transaction->status_trans == 'precommande') {

    // retour avec chiffres identiques => annulation
    if ( (isset($_REQUEST['order_id'])) && ($_REQUEST['order_by'] == $transaction->id) &&
         (isset($_REQUEST['lr_amnt'])) && ($_REQUEST['lr_amnt'] == $transaction->mont1) &&
         (isset($_REQUEST['acc_from'])) && ($_REQUEST['acc_from'] == $transaction->compte_de) )
    {
        $db->query("UPDATE ".$cfg['prefix']."transaction SET status_trans='annuler' WHERE id_trans=?", array($transaction->id_trans));
		$db->query("UPDATE ".$cfg['prefix']."gainservices SET status_trans='annuler' WHERE id_trans=?", array($transaction->id_trans));
        $db->query("UPDATE ".$cfg['prefix']."users SET statut_client='standby' WHERE id=?", array($user->id));
		
		// retour du montant demander sur le plafond => annulation
		if ($transaction->devise_de == 'EUR')
		$db->query("UPDATE ".$cfg['prefix']."config SET value=value-? WHERE name='montant_plafond_journee_euros'", array($transaction->mont1));
		if ($transaction->devise_de == 'USD')
		$db->query("UPDATE ".$cfg['prefix']."config SET value=value-? WHERE name='montant_plafond_journee_usd'", array($transaction->mont1));

		// retour du montant commander sur le dispo => annulation Pour Paypal
		if ($transaction->vers_serv == 'Paypal' AND ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'EUR'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_1'", array($transaction->mont2_bis));
		
		if ($transaction->vers_serv == 'Paypal' AND ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'USD'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_1_USD'", array($transaction->mont2_bis));
		
		if ($transaction->vers_serv == 'Paypal' AND ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'USD'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_1_USD'", array($transaction->mont2_us));
		
		if ($transaction->vers_serv == 'Paypal' AND ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'EUR'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_1'", array($transaction->mont2_eu));
			
		// retour du montant commander sur le dispo => annulation Pour Alertpay
		if ($transaction->vers_serv == 'Alertpay' AND ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'EUR'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_2'", array($transaction->mont2_bis));
		
		if ($transaction->vers_serv == 'Alertpay' AND ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'USD'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_2_USD'", array($transaction->mont2_bis));
		
		if ($transaction->vers_serv == 'Alertpay' AND ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'USD'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_2_USD'", array($transaction->mont2_us));
		
		if ($transaction->vers_serv == 'Alertpay' AND ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'EUR'))
			$db->query("UPDATE ".$cfg['prefix']."config SET value=value+? WHERE name='dispo_service_2'", array($transaction->mont2_eu));

		// Préparation de l'envoie du mail
		$mail = $conf_merchantEmail; // Déclaration de l'adresse de destination admin
		$mail1 = $userData['email']; // Déclaration de l'adresse de destination client
		
		//=====Déclaration des messages au format texte et au format HTML pour EG sur les deux devises
		if (($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'EUR') OR ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'USD'))
		$message_eg = 
		"Bonjour!\n\n".
		"Le client ".$userData['pseudo']." vient d'annuler la commande ".$transaction->id_trans."\r\n".
		"Le montant demander était de ".$transaction->mont1." ".$transaction->devise_de.", pour recevoir un montant de ".$transaction->mont2." ".$transaction->devise_vers.". \r\n".
		"Veuillez vérifier la transaction dans la base de donnée\r\n".
		"Vérifier le statut du client et en cas ou le repasser sur 'possible'\n\n".
		"Le site Egainmoney.com.";

		if (($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'EUR') OR ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'USD'))
		$message_eg = 
		"Bonjour!\n\n".
		"Le client ".$userData['pseudo']." vient d'annuler la commande ".$transaction->id_trans."\r\n".
		"Le montant demander était de ".$transaction->mont1." ".$transaction->devise_de.", pour recevoir un montant de ".$transaction->mont2_ter." ".$transaction->devise_vers.". \r\n".
		"Veuillez vérifier la transaction dans la base de donnée\r\n".
		"Vérifier le statut du client et en cas ou le repasser sur 'possible'\n\n".
		"Le site Egainmoney.com.";
		
		//=====Déclaration des messages au format texte et au format HTML pour le client sur les deux devises
		if (($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'EUR') OR ($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'USD'))
		$message_client = 
		"Bonjour! ".$userData['pseudo']."\n\n".
		"Vous venez d'annuler la commande ".$transaction->id_trans."\r\n".
		"Correspondant a un montant de ".$transaction->mont1." ".$transaction->devise_de.", pour recevoir un montant de ".$transaction->mont2." ".$transaction->devise_vers.". \r\n".
		"Nous allons verifiez votre annulation avant de vous donner l'autorisation de commander une nouvelle fois.\n\n".
		"Le site Egainmoney.com.";
		
		if (($transaction->devise_de == 'USD' AND $transaction->devise_vers == 'EUR') OR ($transaction->devise_de == 'EUR' AND $transaction->devise_vers == 'USD'))
		$message_client = 
		"Bonjour! ".$userData['pseudo']."\n\n".
		"Vous venez d'annuler la commande ".$transaction->id_trans."\r\n".
		"Correspondant a un montant de ".$transaction->mont1." ".$transaction->devise_de.", pour recevoir un montant de ".$transaction->mont2_ter." ".$transaction->devise_vers.". \r\n".
		"Nous allons vérifiez votre annulation avant de vous donner l'autorisation de commander une nouvelle fois.\n\n".
		"Le site Egainmoney.com.";
		
		//=====Création du header de l'e-mail
		$header = "From: \"EgainMoney.Com\"<" . $conf_merchantEmail . ">\n";
		$header.= "Reply-to: \"No-Reply\" <noreply@egainmoney.com>\n";
		$header.= "MIME-Version: 1.0".$passage_ligne;
		$header.= "Content-Type: text/plain; charset=ISO-8859-1".$passage_ligne." boundary=\"$boundary\"\n";

		//=====Définition du sujet
		$sujet_eg = "Annulation d'une Commande LibertyReserve";
		$sujet_client = "Annulation de votre Commande LibertyReserve";
		//=========

		//=====Envoi de l'e-mail
		mail($mail, $sujet_eg, utf8_decode ($message_eg), $header);
		mail($mail1, $sujet_client,  utf8_decode ($message_client), $header);

    // else erreur
    } else {
        $db->query("UPDATE ".$cfg['prefix']."transaction SET status_trans='erreur' WHERE id_trans=?", array($transaction->id_trans));
		$db->query("UPDATE ".$cfg['prefix']."gainservices SET status_trans='erreur' WHERE id_trans=?", array($transaction->id_trans));		
        $db->query("UPDATE ".$cfg['prefix']."users SET statut_client='erreur' WHERE id=?", array($user->id));

        mail($conf_merchantEmail, 'Erreur commande', utf8_decode("Le client ".$userData['pseudo']." vient d'annuler la commande ".$transaction->id_trans.".\n\nMais il semble que les données renvoyer par le service soit différent Veuillez à en vérifier les informations avant de lui redonner l'autorisation de commander ou le bannir.\nLe site"));
    }
}

echo render_view($data, AEDITUUS_ROOT.'lr/template/default/fail.tpl.php');
